Data Retrieval Method for Location Based Services on a Wireless Device

ABSTRACT

An embodiment provides a method for communicating location-based information between an application server and a mobile device in response to an information query, the mobile device and the application server communicating via a communication network, the method comprising the steps of: initially transmitting a subset of the location-based information to the mobile device in response to the information query; transmitting further subsets of the location-based information as required; and pre-caching a predefined amount of location-based information at the device in response to a pre-cache trigger notification, the pre-cache trigger notification being generated when it is determined that the mobile device may lose contact with the communication network.

The following relates generally to mobile devices, and more particularlyto an improved method for updating location-based information on themobile devices.

BACKGROUND

Mobile communication devices have become popular for business andpersonal use due to a relatively recent increase in number of servicesand features that the devices and mobile infrastructures support.Handheld mobile communication devices, sometimes referred to as mobiledevices, are essentially portable computers having wireless capability,and come in various forms. Examples of mobile devices include PersonalDigital Assistants (PDAs), cellular phones and smart phones.

More recently, global positioning system (GPS) receivers have beenintegrated within such mobile devices for providing enhancedlocation-based services. Alternatively, mobile devices may interfacewith external GPS receivers via a wired interface, such as UniversalSerial Bus (USB), or a wireless interface, such as Bluetooth®. Inoperation, a location-based application executing on the mobile devicecan use data obtained from a GPS receiver to provide a user withlocation data. This information can be used in conjunction with anapplication on the mobile device to provide the user with real-timelocation-based information.

In other implementations, the location-based application can use thedata obtained from the GPS receiver as well as other data to send arequest to an application server for desired information. If the mobiledevice is location aware, the request includes the current location ofthe device. The application server extracts content from a GeographicInformation System (GIS) database and provides an appropriate responseto the mobile device.

Accordingly, the application server can use real-time location-basedinformation to provide a number of competitive advantages that come fromaccessing location information in real time. For example,mapping-applications can be used to provide the user with real-timemapping information. As another example, data can be pushed to the userin accordance with the user's determined geographic location.

Location-based applications can be generally divided into twocategories: device-based location applications and server-based locationapplications.

Device-based location applications refer to applications run onGPS-equipped mobile devices. The device queries its current location viathe GPS receiver and the application uses the device's current locationinformation for providing service using GIS software installed on thedevice.

Server-based location applications refer to applications run on mobiledevices that may or many not be GPS-equipped. Rather, a network servermaintains a location of the mobile devices. This can be achieved by themobile device obtaining its coordinates and transmitting them to thenetwork server. Alternatively, the network server can obtain thelocation of the mobile device directly, using a number of knowntechniques. One such technique is known as assisted-GPS. Inassisted-GPS, signalling information from a position determining entityis provided to the mobile device to aid in position determination. Aslong as the mobile device can connect with the network server, it canquery its location from the network server rather than from the GPSreceiver.

For location-based applications that interact with an application serverfor obtaining information, it may be impractical to retrieve all of therequested information at one time and pre-cache it on the mobile device.For example, consider an location-based application that offers traveldirections. If a user is travelling from an address in New York City toan address in San Francisco, the number of instructions comprising thedirections would be substantial. Specifically, it is likely thatdirection would include several hundred turns at specific intersections.Further, for each turn, three alternate turns are provided in case theoriginal turn is missed. Further, supplemental information, such asnames of businesses, cities, regions, lakes, rivers and other geographiclandmarks along the route is also provided. As will be appreciated theamount of data required for a given trip may require a substantialamount of bandwidth and storage space on the mobile device.

Accordingly, one solution to this problem is for the mobile device toretrieve data as the user is travelling. However, such a solutionrequires a constant connection to a communication network so that themobile device is able to communicate with the application server.Unfortunately, it is likely that the mobile device will be out ofcoverage at several points during travel, which would result in a lossof connection to the communication network. As a result, thelocation-based application may not be able to properly direct the user,who may miss a turn and get lost. This problem can be generalized to anylocation-based application that relies on a data streaming connection tothe mobile device.

Therefore, it can be seen that there is a need for an improved methodfor retrieving data to a mobile device for use with location-basedservices that overcomes the above-described problems.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will now be described by way of exampleonly with reference to the following drawings in which:

FIG. 1 is a block diagram illustrating a telecommunicationinfrastructure (prior art);

FIG. 2 is a block diagram illustrating components of a mobile device;

FIG. 3 is a flow chart illustrating a method for retrievinglocation-based information in accordance with one embodiment;

FIG. 4 is a flow chart illustrating a method for retrievinglocation-based information in accordance with an alternate embodiment;

FIG. 5 is a flow chart illustrating a method for retrievinglocation-based information in accordance with yet an alternateembodiment; and

FIG. 6 is a flow chart illustrating a method for retrievinglocation-based information in accordance with yet an alternateembodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In accordance with one embodiment, there is provided a method forcommunicating location-based information between an application serverand a mobile device in response to an information query, the mobiledevice and the application server communicating via a communicationnetwork, the method comprising the steps of: initially transmitting asubset of the location-based information to the mobile device inresponse to the information query; transmitting further subsets of thelocation-based information as required; and pre-caching a predefinedamount of location-based information at the device in response to apre-cache trigger notification, the pre-cache trigger notification beinggenerated when it is determined that the mobile device may lose contactwith the communication network.

In accordance with another embodiment, there is provided a mobile devicefor providing a user with access to a location-based application, themobile device comprising: a communication subsystem configured to:transmit an information query to an application server via acommunication network; receive an initial a subset of the location-basedinformation in response to the information query; receive furthersubsets of the location-based information as required; and memoryconfigured to pre-cache a predefined amount of location-basedinformation at the device in response to a pre-cache triggernotification, the pre-cache trigger notification being generated when itis determined that the mobile device may lose contact with thecommunication network.

In accordance with another embodiment, there is provided a computerreadable medium comprising instructions which, when executed by a mobiledevice in communication with an application server via a communicationnetwork, causes the mobile device to implement the steps of:transmitting a query for location-based information to the applicationserver; initially receiving a subset of the location-based informationin response to the information query; requesting further subsets of thelocation-based information as required; and pre-caching a predefinedamount of location-based information in response to a pre-cache triggernotification, the pre-cache trigger notification being generated when itis determined that the mobile device may lose contact with thecommunication network.

In accordance with another embodiment, there is provided a computerreadable medium comprising instructions which, when executed by anapplication server in communication with a mobile device via acommunication network, causes the application server to implement thesteps of: receiving a query for location-based information from themobile device; initially transmitting a subset of the location-basedinformation in response to the information query; transmitting furthersubsets of the location-based information as required; and transmittinga predefined amount of location-based information to be pre-cached onthe mobile device in response to a pre-cache trigger notification, thepre-cache trigger notification being generated when it is determinedthat the mobile device may lose contact with the communication network.

In accordance with another embodiment, there is provided a method forcommunicating location-based information between an application serverand a mobile device in response to an information query, the mobiledevice and the application server communicating via a communicationnetwork, the method comprising the steps of: initially transmittingcritical location-based information and a subset of supplementallocation-based information to the mobile device in response to theinformation query; and transmitting further subsets of the supplementallocation-based information as required.

For convenience, like numerals in the description refer to likestructures in the drawings. Referring to FIG. 1, a typicaltelecommunication infrastructure is illustrated generally by numeral100. The telecommunication infrastructure 100 includes a plurality ofmobile devices 102, a plurality of base stations 104, a communicationnetwork 106 and a plurality of network servers 108.

The mobile devices 102 include wireless computing devices such as asmart phone, a personal digital assistant (PDA), and the like. Themobile devices 102 are in communication with one of the base stations104. The base stations 104 relay data between the mobile devices 102 andthe network servers 108 via the communication network 106. Accordingly,the communication network 106 may include several components such as awireless network, a relay, a corporate server and/or a mobile dataserver for relaying data between the base stations 104 and the networkservers 108.

The network servers 108 include servers such as a Web server, anapplication server, and an application server with web services. It willbe appreciated by a person of ordinary skill in the art that thetelecommunication infrastructure 100 described herein is exemplary andthat changes may be made to one or more components to accommodatedifferent network configurations without affecting the scope of theinvention described and claimed herein.

Referring to FIG. 2, a mobile device 102 is illustrated in greaterdetail. The mobile device 102 is often a two-way communication devicehaving both voice and data communication capabilities, including thecapability to communicate with other computer systems. Depending on thefunctionality provided by the device mobile 102, it may be referred toas a data messaging device, a two-way pager, a cellular telephone withdata messaging capabilities, a wireless Internet appliance, or a datacommunication device.

The mobile device 102 includes a communication subsystem 211, whichincludes a receiver 212, a transmitter 214, and associated components,such as one or more embedded or internal antenna elements 216 and 218,local oscillators (LOs) 213, and a processing module such as a digitalsignal processor (DSP) 220. As will be apparent to those skilled infield of communications, the particular design of the communicationsubsystem 211 depends on the communication network in which mobiledevice 102 is intended to operate.

The mobile device 102 includes a microprocessor 238 which controlsgeneral operation of the mobile device 102. The microprocessor 238 alsointeracts with additional device subsystems such as a display 222, aflash memory 224, a random access memory (RAM) 226, auxiliaryinput/output (I/O) subsystems 228, a serial port 230, a keyboard 232, aspeaker 234, a microphone 236, a short-range communications subsystem240 such as Bluetooth™ for example, and any other device subsystems orperipheral devices generally designated at 242. Optionally, the mobiledevice 102 includes a positioning device 244, such as a GPS receiver,for receiving positioning information.

Operating system software used by the microprocessor 238 is preferablystored in a persistent store such as the flash memory 224, which mayalternatively be a read-only memory (ROM) or similar storage element(not shown). Those skilled in the art will appreciate that the operatingsystem, specific device applications, or parts thereof, may betemporarily loaded into a volatile store such as RAM 226.

The microprocessor 238, in addition to its operating system functions,preferably enables execution of software applications on the mobiledevice 102. A predetermined set of applications, which control basicdevice operations, is installed on the mobile device 102 during itsmanufacture. These basic operations typically include data and voicecommunication applications, for example. Additionally, applications mayalso be loaded onto the mobile device 102 through the network 106, anauxiliary I/O subsystem 228, serial port 230, short-range communicationssubsystem 240, or any other suitable subsystem 242, and installed by auser in RAM 226, or preferably the persistent store 224, for executionby the microprocessor 238. Such flexibility in application installationincreases the functionality of the mobile device 102 and may provideenhanced on-device features, communication-related features, or both.

The display 222 is used to visually present an application's graphicaluser interface (GUI) to the user. The user can manipulate applicationdata by modifying information on the GUI using an input device such asthe keyboard 232 for example. Depending on the type of mobile device102, the user may have access to other types of input devices, such as,for example, a scroll wheel, light pen or touch sensitive screen.

Location-based applications executing on the mobile device 102 usepositioning information from the positioning device 244 to providerelevant information to the user, often in real-time. The positioningdevice 244 may be a GPS receiver for receiving satellite broadcasts. Inone embodiment, the satellite broadcast data is used by the mobiledevice 102 to determine its position. In another embodiment, thesatellite broadcast data is transmitted from the mobile device to one ofthe network servers 108 to determine the position of the mobile device.

Alternatively, the positioning device 244 may comprise a positioningmodule for receiving positioning information from one of the networkservers 108. In this embodiment, the positioning module may comprise asoftware, rather than a hardware, solution.

Further, the mobile device 102 is provisioned with intelligentpre-caching software for managing pre-caching of data from the networkserver 108. It will be appreciated that the intelligent pre-cachingsoftware may form part of a location-based application. Alternatively,the intelligent pre-caching software may be a service provided by aruntime of the wireless device 102.

In the present embodiment, a network server 108 hosting thelocation-based service determines location-based information in responseto a query from the location-based application. Continuing the previousexample of a mapping application executing on the device, the query maybe for routing information. In addition to the route, the network server108 determines critical waypoints and virtual waypoints along thedetermined route. Critical waypoints, as used herein, relate to areasalong the route that are known, a priori, to have poor radio frequency(RF) reception, given a particular carrier and/or network-type for themobile device 102. Conversely, virtual waypoints, as used herein, relateto points along the route that are known, a priori, to have good RFreception. In the present embodiment, virtual waypoints near or adjacentto critical waypoints are determined by the network server 108.

Referring to FIG. 3, a method for retrieving location-based informationin accordance with the present embodiment is illustrated generally bynumeral 300. At step 302 a user submits a query to the location-basedapplication executing on the mobile device 102. Continuing the previousexample, the query may be for routing information to direct the userfrom New York to San Francisco. The location-based application submitsthe query to the network server 108 hosting a correspondinglocation-based service.

At step 304, the network server 108 resolves the query and determinesthe critical and virtual waypoints along the route. At step 306, thevirtual waypoints are transmitted to the intelligent pre-cachingsoftware. At step 308, which may occur simultaneously with step 306,initial information in response to the query is transmitted to thelocation-based application.

The intelligent pre-caching software is in communication with thepositioning device 244 to determine the location of the wireless device102. Accordingly, at step 310, the intelligent pre-caching softwaredetermines whether or not the mobile device 102 as at a virtualwaypoint. If the mobile device 102 is not at virtual waypoint, themethod continues to step 312. At step 312, when the location-basedapplication requires further data it submits a query to the networkserver 108. Step 310 and 312 repeat until no further information isrequired or a virtual waypoint is reached.

If it is determined at step 310 that the mobile device 102 is at virtualwaypoint, the method continues at step 314. A step 314, the intelligentpre-caching software queries the network server 108 for informationrelating to a nearby or adjacent critical waypoint. The information isreceived by the intelligent pre-caching software and stored on themobile device 102 in either the flash memory 224 or the RAM 226.

At step 316, the intelligent pre-caching software communicates with thelocation-based application for providing routing information. If themobile device 102 is using assisted GPS to determine its position, itswitches to pure GPS operation, if possible, when it cannot communicatewith the base station 104 due to poor RF coverage.

The location-based application continues to the use the intelligentpre-caching software as its source for information until requiredinformation is not available. At that point, the method continues atstep 312 and the location-based application submits a query to thenetwork server 108 for further information. Since the informationretrieved by the intelligent pre-caching software is sufficient to coverthe critical waypoint, it is likely that the mobile device 102 will haveaccess to the communication network 106 when the method reaches step312.

Accordingly, it will be appreciated that location information ispre-cached on the wireless device in response to a pre-cache trigger.Specifically, in the present embodiment, the pre-cache trigger occurswhen the mobile device 102 reaches a predefined virtual waypoint.Further, in the present embodiment, the information that is pre-cachedin response to the pre-cache trigger is sufficient to describe apredefined critical waypoint.

In accordance with an alternate embodiment, the pre-cache trigger occurswhen the coverage strength at the mobile device 102 falls below apredefined threshold. Therefore, unlike the previous embodiment whichrelied on a pre-cache trigger determined a priori by a network server108, the present embodiment relies on a dynamic generation of thepre-cache trigger.

Referring to FIG. 4, a method for retrieving location-based informationin accordance with the present embodiment is illustrated generally bynumeral 400. At step 402 a user submits a query to the location-basedapplication executing on the mobile device 102. The location-basedapplication submits the query to the network server 108 hosting acorresponding location-based service. At step 404, initial responseinformation corresponding to the query is received by the location-basedapplication.

At step 406, the intelligent pre-caching software monitors the strengthof a signal between the mobile device 102 and a corresponding basestation 104. It is well known in the art that the signal strengthcorrelates with the ability of the mobile device 102 to communicate withthe communication network 106. Further, many, if not all, mobile devices102 already include an operating system that can determine the signalstrength and provide a signal strength indicator on the display 222,accordingly. In the present example, the signal strength is determinedby the communication subsystem 211. Accordingly, the intelligentpre-caching software can obtain the signal strength either directly fromthe communication subsystem 211 or via the signal strength indicatorfeature of the operating system.

At step 408, the intelligent pre-caching software determines whether ornot the signal strength has fallen below a predefined threshold. Thepredefined threshold is a signal level that an application developerdetermines is a boundary between acceptable and unacceptable RFreception. Accordingly, if the signal strength is above the threshold,the method returns to step 402 and submits a query for furtherinformation.

If, however, the signal strength falls below the threshold, the methodcontinues to step 410. At step 410, the intelligent pre-caching softwarerequests pre-cache information from the network server 108 inanticipation that the signal level may drop further until the mobiledevice 102 is no longer able to communicate with the communicationnetwork 106.

The amount of information pre-cached on the mobile device can be defineda number of different ways. For example, the network server 108 canestimate an amount of information required for a specific time periodgiven the current position of the mobile device 102. Alternatively, theamount of information can be defined by size and comprises a predefinedquantity of information. Other ways to determine an amount ofinformation to pre-cache will become apparent to a person skilled in theart.

At step 412, the intelligent pre-caching software informs thelocation-based application that a certain amount of information has beenpre-cached on the mobile device 102. Accordingly, the location-basedapplication retrieves information from the pre-cached information ratherthan querying the network server 108. If the location-based applicationneeds information not included in the pre-cached information, theoperation returns to step 402 and the location-based application queriesthe network server 108 for further information.

In accordance with yet an alternate embodiment, the pre-cache trigger isactivated by the network server 108 when it determines that the mobiledevice 102 is in an position that has limited RF reception. Accordingly,similar to the embodiment described with reference to FIG. 3, thenetwork server 108 has a priori know of locations having poor reception.However, unlike the previous embodiments, in the present embodiment thenetwork server 108 uses knowledge of the location of the mobile device102 to push a predefined quantity of location-based information to it.Therefore, the present embodiment relies on a dynamic generation of thepre-cache trigger at the network server 108.

Referring to FIG. 5, a method for retrieving location-based informationin accordance with the present embodiment is illustrated generally bynumeral 500. At step 502 a user submits a query to the location-basedapplication executing on the mobile device 102. The location-basedapplication submits the query to the network server 108 hosting acorresponding location-based service.

At step 504, the location-based service determines the position of themobile device 102. This can be achieved a number of ways, as is standardin the art. For example, if the position is being maintained on themobile device 102, the location-based application can include theposition in its query. On the other hand, the position may be maintainedat the network server 108 and the location-based service would haveaccess to that information.

At step 506, the location-based service determines whether or not themobile device 102 is at or near a location determined to have poor RFreception. If the mobile device 102 is at or near a location determinedto have good RF reception, the method continues to step 508. At step508, the location-based service provides information in response to thequery provided by the location-based application. At step 510, thelocation-based application receives the response and provideslocation-based information to the user accordingly. At step 512, thelocation-based application determines that more information is required,the method returns to step 502 and a new query is submitted to thenetwork server 108.

If at step 506, it is determined that the mobile device 102 is at ornear a location determined to have poor RF coverage, the methodcontinues to step 514. At step 514, the location-based service pushes apredefined quantity of information to the mobile device 102 to bepre-cached in the flash memory 224 or RAM 226. The amount of informationthat is pushed to the device can be determined a number of differentways. For example, the location-based service can estimate an amount ofinformation required for a specific time period given the currentposition of the mobile device 102. Alternatively, the amount ofinformation can be defined by size and comprised a predefined quantityof data. Alternatively, the location-based service can determine theinformation required to sufficiently described the area defined to havepoor RF coverage. Once the information is pre-cached on the mobiledevice 102, the location-based application is informed.

At step 516, the location-based application retrieves pre-cachedinformation from the memory for presenting on the mobile device 102, asrequired. At step 518, the location-based application determines thatthe pre-cached information does not have sufficient information torespond to a query, the method returns to step 502 and submits the queryto the network server 108.

Accordingly, it can be seen that the present embodiment does not requireintelligent pre-cache software at device, but rather at network server108. Further, it will be appreciated that in the embodiments describedabove, the positioning device 244 can operate without assistance fromthe communication network 106 to provide accurate location informationto the mobile device 102 when it is out of coverage.

In the above-described embodiments, the location-based application isinformed when information is being pre-cached, so it knows when torequest information from the flash memory 224 or RAM 226, rather thanthe network server 108. However, other implementations will be apparentto a person skilled in the art. For example, in an alternate embodiment,the location-based application is designed to first query the networkserver 108. In the event that the mobile device 102 is out of coverage,the location-based application queries the flash memory 224, a randomaccess memory (RAM) 226 to determine if there is any pre-cachedinformation. In yet an alternate embodiment, the location-basedapplication is designed to first query the memory to determine if thereis any pre-cached information. In the event that the pre-cachedinformation does not satisfy the query, location based applicationattempts to contact the network server 108.

In yet an alternate embodiment, the intelligent pre-caching applicationinitially pre-caches critical information from the network server 108.As used in this description, critical information refers to a minimalamount of information required by the location-based application. Thecritical information defines a critical path. It will be appreciatedthat what is considered to be critical information may differ fromlocation-based application to location-based application, as well asbetween different implementations of the same location-basedapplication. The mobile device 102 can then retrieve supplemental datain segments as required. It will be appreciated that supplementalinformation refers to information that is not critical information.Therefore, even if the mobile device 102 periodically drops itsconnection to the communication network 106, it can rely on thepre-cached critical information for directions. During this time, shouldthe mobile device 102 stray from the critical path, the location-basedapplication directs the user back to the last know critical point. Forexample, if the user misses a turn, the location-based applicationsuggests a u-turn to redirect the user back a previous intersectionrather than recalculate the route.

Referring to FIG. 6, operation of the intelligent pre-caching softwarein accordance with the present embodiment is illustrated generally bynumeral 600. In step 602, a user submits a query to the location-basedapplication executing on the mobile device 102. Continuing the previousexample, the query may be for routing information to direct the userfrom New York to San Francisco. The location-based application submitsthe query to the intelligent pre-caching software, which in turn submitsthe query to a corresponding one of the network servers 108 via thecommunication network 106.

In step 604, the network server 108 resolves the request and preparesthe routing information. The routing information is separated intocritical information and supplemental information, as defined by anapplication developer. In the present example, the critical informationincludes street names, turns, and intersections required to successfullynavigate from New York to San Francisco without deviation. Further, inthe present example, the supplemental information includes alternatesturns; city, county and state names along the route; geographicalinformation such as lakes and rivers along the route; and businessinformation such as hotels, restaurants and gas stations along theroute.

At step 606, the critical information is transmitted from the networkserver 108 to the intelligent pre-caching software for use by thelocation-based application. At step 608, a first portion of thesupplemental information is transmitted from the network server 108 tothe intelligent pre-caching software for use by the location-basedapplication. The first portion of supplemental information includes apredefined amount of information. The amount of information can bedefined a number of different ways. For example, the network server 108can estimate an amount of information required for a specific timeperiod given the current position of the mobile device. Alternatively,the amount of information can be defined by size and a the portioncomprised a predefined quantity of data.

The location-based application provides the required directionalinformation to the user until it determines that it is approaching theend of available supplemental data. At this point the locationbased-application requests that the intelligent pre-caching softwareobtain the next portion of supplemental information.

At step 610, the intelligent pre-caching software determines from thecommunication subsystem 211 whether or not the mobile device 102 is incoverage and, therefore, in communication with the communication network106. If the mobile device is in coverage, the intelligent pre-cachingsoftware continues at step 612 and the next portion of supplementalinformation is retrieved from the network server 108. Once the data hasbeen retrieved, it is returned to the location-based application, whichreturns to step 610.

If it is determined at step 610 that the mobile device 102 is not incoverage, the intelligent pre-caching software continues at step 614. Atstep 614, the intelligent pre-caching software informs thelocation-based application that it is currently unable to obtain furtherdata. Accordingly, at step 616, the location-based application providesinstructions to the user in accordance with the predefined criticalpath. As previously described, it the user deviates from the criticalpath the location-based application requests that the user return to thelast identified point along the critical path. Further, in the presentembodiment, the user is provided with one or more of a visual and audiowarning advising that the mobile device 102 is out of coverage.

Once the mobile device 102 is in coverage again, the intelligentpre-caching software continues at step 612 and retrieves the followingsection of supplemental information.

Accordingly, it will be appreciated by a person skilled in the art thatembodiment described above provides the capability to retrievesufficient routing data to adequately guide the user of the mobiledevice 102 without requiring that all the data be obtained.

Although a number of different embodiments are described above, it willbe appreciated by a person of ordinary skill in the art that variouscombinations of the different embodiments may also be implemented.

Further, although the invention has been described with reference tocertain specific embodiments, various modifications thereof will beapparent to those skilled in the art without departing from the scope ofthe invention as defined by the appended claims.

1. A method for communicating location-based information between anapplication server and a mobile device in response to an informationquery, the mobile device and the application server communicating via acommunication network, the method comprising the steps of: a. initiallyreceiving a subset of the location-based information at the mobiledevice in response to the information query; b. receiving furthersubsets of the location-based information as required; and c.pre-caching a predefined amount of location-based information at thedevice in response to a pre-cache trigger notification, the pre-cachetrigger notification being generated when it is determined that themobile device may lose contact with the communication network.
 2. Themethod of claim 1, further comprising the step of determining aplurality of predefined positions, the pre-cache trigger notificationbeing generated when the mobile device reaches one of the predefinedpositions.
 3. The method of claim 2, wherein the pre-cache triggernotification is generated by the mobile device when the mobile devicedetermines that it has reached one of the predefined positions.
 4. Themethod of claim 2, wherein the pre-cache trigger notification isgenerated by the application server when the application serverdetermines that the mobile device has reached one of the predefinedpositions.
 5. The method of claim 2, wherein the plurality of predefinedpositions are virtual waypoints for identifying geographic locationshaving acceptable coverage parameters for transmitting information tothe mobile device.
 6. The method of claim 5, wherein the virtualwaypoints are located near a critical waypoint which identify geographiclocations having unacceptable coverage parameters transmittinginformation to the mobile device.
 7. The method of claim 1, wherein thepre-cached location-based information is checked before submitting afurther query to the application server.
 8. The method of claim 1,wherein the pre-cached location-based information is checked after it isdetermined that a further query cannot successfully be communicated tothe application server.
 9. The method of claim 1, further comprising thestep of monitoring a signal strength between the mobile device and thecommunication network, the pre-cache trigger notification beinggenerated when the signal strength falls below a predefined threshold.10. The method of claim 9, wherein the signal strength is monitored onthe mobile device.
 11. The method of claim 1, wherein the predefinedamount of location-based information pre-cached at the device compriseslocation information for a predefined geographic region.
 12. The methodof claim 1, wherein the predefined amount of location-based informationpre-cached at the device comprises location information corresponding toa predefined maximum file size.
 13. A mobile device for providing a userwith access to a location-based application, the mobile devicecomprising: a. a communication subsystem configured to: transmit aninformation query to an application server via a communication network;receive an initial a subset of the location-based information inresponse to the information query; receive further subsets of thelocation-based information as required; and b. memory configured topre-cache a predefined amount of location-based information at thedevice in response to a pre-cache trigger notification, the pre-cachetrigger notification being generated when it is determined that themobile device may lose contact with the communication network.
 14. Themobile device of claim 13 further comprising a positioning device. 15.The mobile device of claim 14 wherein the positioning device is a GPSreceiver.
 16. A computer readable medium comprising instructions which,when executed by a mobile device in communication with an applicationserver via a communication network, causes the mobile device toimplement the steps of: a. transmitting a query for location-basedinformation to the application server; b. initially receiving a subsetof the location-based information in response to the information query;c. requesting further subsets of the location-based information asrequired; and d. pre-caching a predefined amount of location-basedinformation in response to a pre-cache trigger notification, thepre-cache trigger notification being generated when it is determinedthat the mobile device may lose contact with the communication network.17. A computer readable medium comprising instructions which, whenexecuted by an application server in communication with a mobile devicevia a communication network, causes the application server to implementthe steps of: a. receiving a query for location-based information fromthe mobile device; b. initially transmitting a subset of thelocation-based information in response to the information query; c.transmitting further subsets of the location-based information asrequired; and d. transmitting a predefined amount of location-basedinformation to be pre-cached on the mobile device in response to apre-cache trigger notification, the pre-cache trigger notification beinggenerated when it is determined that the mobile device may lose contactwith the communication network.
 18. A method for communicatinglocation-based information between an application server and a mobiledevice in response to an information query, the mobile device and theapplication server communicating via a communication network, the methodcomprising the steps of: a. initially transmitting criticallocation-based information and a subset of supplemental location-basedinformation to the mobile device in response to the information query;and b. transmitting further subsets of the supplemental location-basedinformation as required.